package nekperu15739.me.persistence.dao.abstracts.jdbctemplate;

import nekperu15739.me.persistence.dao.interfaces.LanguageDao;
import nekperu15739.me.persistence.dao.interfaces.jdbctemplate.LanguageDaoJdbcTemplate;
import nekperu15739.me.persistence.dto.LanguageDto;
import nekperu15739.me.persistence.entities.LanguageEntity;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jdbc.core.RowMapper;

public abstract class LanguajeDaoAbstractJdbcTemplate extends
        DaoAbstractJdbcTemplate<LanguageDto, LanguageEntity> implements LanguageDaoJdbcTemplate {

//    @Autowired
//    @Qualifier("languageEntityRowMapper")
//    protected RowMapper<LanguageDto> languageEntityRowMapper;
    
//    @Override
//    public LanguageDto select(String sql, Object[] args,
//            RowMapper<LanguageDto> rowMapper) {
//        
//        LanguageDto queryForObject = getJdbcTemplate().queryForObject(sql, args, rowMapper);
//
//        return queryForObject;
//    }
    
//    @Override
//    protected RowMapper<LanguageEntity> getEntityRowMapper() {
////        return entityRowMapper;
//        return getLanguageEntityRowMapper();
//    }

    @Override
    protected void setEntityRowMapper(RowMapper<LanguageEntity> entityRowMapper) {
        this.entityRowMapper = entityRowMapper;
    }

//    protected RowMapper<LanguageEntity> getLanguageEntityRowMapper() {
//        return languageEntityRowMapper;
//    }
//
//    public void setLanguageEntityRowMapper(
//            RowMapper<LanguageEntity> languageEntityRowMapper) {
//        this.languageEntityRowMapper = languageEntityRowMapper;
//    }

    @Override
    public Object[] getArgs() {
        Object[] largs = new Object[]{ entity.getLanguage() };
        return largs;
    }

    LanguageEntity entity;
    
    @Override
    public void setArgs(LanguageEntity entity) {
//        this.args = args;
        this.entity = entity;
    }

}
